package com.hongshan.wallet.util

import java.lang.reflect.ParameterizedType
import java.lang.reflect.Type

/**
 * Copyright Zhangxx.
 * Copyright (c) 2019
 * All rights reserved
 *
 * @project  : Wallet
 * @package  : com.example.wallet.util
 * @author   : zhangxx
 * @date     : 2019/3/30
 * @email    : qq957413212@hotmail.com
 * @desc     : //TODO
 */
class ParameterizedTypeImpl(private val raw: Class<*>, val args: Array<Type?>?) : ParameterizedType {

    override fun getRawType() = raw

    override fun getOwnerType() = null

    override fun getActualTypeArguments(): Array<Type?> = args ?: arrayOfNulls(0)


}